static_library("Utility") {
  output_name = "lldbPluginProcessUtility"
  configs += [ "//llvm/utils/gn/build:lldb_code" ]
  deps = [
    #"//lldb/source/Breakpoint", # 3-hop dependency cycle.
    "//lldb/source/Core",
    "//lldb/source/DataFormatters",
    "//lldb/source/Expression",
    "//lldb/source/Host",
    "//lldb/source/Symbol",

    #"//lldb/source/Target", # Dependency cycle.
    "//lldb/source/Utility",
    "//llvm/lib/Support",
    "//llvm/lib/TargetParser",
  ]

  # Uses source-relative includes for own headers.
  include_dirs = [ "//lldb/source" ]
  sources = [
    "AuxVector.cpp",
    "FreeBSDSignals.cpp",
    "GDBRemoteSignals.cpp",
    "HistoryThread.cpp",
    "HistoryUnwind.cpp",
    "InferiorCallPOSIX.cpp",
    "LinuxProcMaps.cpp",
    "LinuxSignals.cpp",
    "MemoryTagManagerAArch64MTE.cpp",
    "NativeProcessSoftwareSingleStep.cpp",
    "NativeRegisterContextDBReg_arm64.cpp",
    "NativeRegisterContextDBReg_x86.cpp",
    "NativeRegisterContextRegisterInfo.cpp",
    "NetBSDSignals.cpp",
    "RegisterContextDarwin_arm.cpp",
    "RegisterContextDarwin_arm64.cpp",
    "RegisterContextDarwin_i386.cpp",
    "RegisterContextDarwin_x86_64.cpp",
    "RegisterContextDummy.cpp",
    "RegisterContextFreeBSD_i386.cpp",
    "RegisterContextFreeBSD_mips64.cpp",
    "RegisterContextFreeBSD_powerpc.cpp",
    "RegisterContextFreeBSD_x86_64.cpp",
    "RegisterContextHistory.cpp",
    "RegisterContextLinux_i386.cpp",
    "RegisterContextLinux_s390x.cpp",
    "RegisterContextLinux_x86_64.cpp",
    "RegisterContextMach_arm.cpp",
    "RegisterContextMach_i386.cpp",
    "RegisterContextMach_x86_64.cpp",
    "RegisterContextMemory.cpp",
    "RegisterContextNetBSD_i386.cpp",
    "RegisterContextNetBSD_x86_64.cpp",
    "RegisterContextOpenBSD_i386.cpp",
    "RegisterContextOpenBSD_x86_64.cpp",
    "RegisterContextPOSIX_arm.cpp",
    "RegisterContextPOSIX_arm64.cpp",
    "RegisterContextPOSIX_loongarch64.cpp",
    "RegisterContextPOSIX_mips64.cpp",
    "RegisterContextPOSIX_powerpc.cpp",
    "RegisterContextPOSIX_ppc64le.cpp",
    "RegisterContextPOSIX_riscv64.cpp",
    "RegisterContextPOSIX_s390x.cpp",
    "RegisterContextPOSIX_x86.cpp",
    "RegisterContextThreadMemory.cpp",
    "RegisterContextWindows_i386.cpp",
    "RegisterContextWindows_x86_64.cpp",
    "RegisterContext_x86.cpp",
    "RegisterInfoPOSIX_arm.cpp",
    "RegisterInfoPOSIX_arm64.cpp",
    "RegisterInfoPOSIX_loongarch64.cpp",
    "RegisterInfoPOSIX_ppc64le.cpp",
    "RegisterInfoPOSIX_riscv64.cpp",
    "StopInfoMachException.cpp",
    "ThreadMemory.cpp",
  ]
}
